/*
	Name: 过河
	Author: There,hello
	Date: 07-11-19 7:54
	Description: Luogu P1052
	Algorithm: Dp,路径压缩
*/
#include<bits/stdc++.h>
using namespace std;
int l;
int s,t,m;
int f[10000],b[111],a[10000];
int main(){
    scanf("%d%d%d%d",&l,&s,&t,&m);
    int base=s*t;
    for(register int i=1;i<=m;++i)
        scanf("%d",&b[i]);
    sort(b+1,b+1+m);
    if(s==t){
        int tot=0;
        for(int i=1;i<=m;++i)
        if(b[i]%s==0)tot++;
        printf("%d",tot);
        return 0;
    }
    int pos=0;
    for(int i=1;i<=m;++i){
        int minn=min(b[i]-b[i-1],base);
        pos+=minn;
        a[pos]=1;
    }
    pos+=base;
    memset(f,0x3f,sizeof(f));
    f[0]=0;
    for(int i=1;i<=pos;++i){
        for(int j=s;j<=t&&i-j>=0;++j){
            f[i]=min(f[i],f[i-j]+a[i-j]);
        }
    }
    int minn=0x3f3f3f3f;
    for(int i=pos-base;i<=pos;++i){
        minn=min(f[i],minn);
    }
    printf("%d",minn);
}